package com.ja.planclass.model;

import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import org.hibernate.validator.constraints.Length;
import org.hibernate.validator.constraints.NotBlank;
import org.hibernate.validator.constraints.NotEmpty;
import org.hibernate.validator.constraints.Range;

import javax.validation.constraints.Max;
import javax.validation.constraints.Pattern;
import java.util.List;

/**
 * Created by 86151 on 2019/4/22.
 */
@Data
public class PlanClassBiaoDanTest {

    //1.@NotBlank 验证字符串是否为空
    //2.@NotNull验证基本数据类型是否为空
    //3.@NotEmpty 验证集合类型是否为空

    //@MAX 验证最大数值不允许超过多少
    //@Min 验证最小不能是多少
    //@Length验证长度最大为多少，最小为多少
    //@Range 验证必须为int且范围在 A-B之间
    //@Pattern

//    @Size(max = 10,min = 9,message = "长度不能大于10，小于9")
    private Integer id;
    @NotBlank(message = "新增时，计划大类不能为空！")
    private String code;
    @Length(min=5, max=20, message="用户名长度必须在5-20之间")
    @Pattern(regexp = "^[a-zA-Z_]\\w{4,19}$", message = "用户名必须以字母下划线开头，可由字母数字下划线组成")
    @NotBlank(message = "新增时，描述不能为空！")
    private String remark;
//    @NotNull(message = "新增时，状态不能为空！")
    @Max(value = 18,message = "年龄不能大于18岁")
    @Range(min=0, max=4)//验证必须为int且范围在 A-B之间
    private Integer status;

    @NotEmpty(message = "新增时，******！")
    private List<Integer> ids;
    //日期转换注解
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "Asia/Shanghai")
    private Data createTime;
}
